Computer systems may require packet processing for packets sent to and from applications in userspace. A computer system may run applications and processes used in Network Function Virtualization (NFV). The computer system may use kernel bypass to process packets of data (e.g., networking packets) in the application space in order to avoid the overhead of communicating with the kernel and operating system (OS). For example, a Network Interface Controller (NIC) may transmit and receive packets by Direct Memory Access (DMA) in Random Access Memory (RAM). The NIC may retrieve packet addresses from a device ring or device rings. The transmit status and receive status may be written into the rings to allow for packet processing.